package com.game.commons.scripts.java.impl.javacompiler;

import java.net.URI;

import javax.tools.JavaFileObject;
import javax.tools.SimpleJavaFileObject;

/**
 * 这个类允许我们仅位于内存编译源代码。
 * @author 杜祥
 * @create 2013-6-17
 */
public class JavaSourceFromString extends SimpleJavaFileObject
{
	
	private final String	code;
	
	
	protected JavaSourceFromString(String className, String code) 
	{
		super(URI.create("string:///" + className.replace('.', '/') + JavaFileObject.Kind.SOURCE.extension),
				JavaFileObject.Kind.SOURCE);
		this.code = code;
	}
	
	/**
	 * 返回类的源代码
	 */
	@Override
	public CharSequence getCharContent(boolean ignoreEncodingErrors)
	{
		return code;
	}
}
